package com.brothers.thisGame;

import java.util.Map;

public interface Game{
	/**
	 * 返回本局游戏的赔率
	 * @return
	 */
	public float getOdds();

	/**
	 * 设置本局游戏的赔率
	 * @param odds
	 */
	public void setOdds(float odds);

	/**
	 * 本次游戏的玩家投注表
	 * @return
	 */
	public Map<Player,Integer> getBettingTable();

	/**
	 * 返回本局游戏的庄家
	 * @return
	 */
	public Player getMaker();

	/**
	 * 设置本局游戏的庄家
	 * @param maker
	 */
	public void setMaker(Player gameMaker);

	/**
	 * 设置本局游戏接受押注的总额上限
	 * @param totalScoreLimit
	 */
	public void setTotalScoreLimit(int totalScoreLimit);

	/**
	 * 庄家赔筹码给玩家
	 * @param player
	 * @param score
	 */
	public void pay(Player player);

	/**
	 * 庄家吃掉玩家本局押注的筹码
	 */
	public void eat(Player player);

	/**
	 * 收取佣金
	 */
	public void earn();

	/**
	 * 按规则进行判定，推进游戏，收付筹码
	 */
	public void deal();

	/**
	 * 返回该玩家是否胜出
	 * @param player
	 * @return
	 */
	boolean isWinner(Player player);

	/**
	 * 返回该玩家是否庄家
	 * @param player
	 * @return
	 */
	boolean isMaker(Player player);

}
